const app = getApp()
const config = app.globalData.config

Page({
  data: {
    mobile: '',
    loginPassword: ''
  },

  onLoad: function (options) {
    // 检查是否已经登录
    if (app.globalData.userInfo && app.globalData.isCoach) {
      wx.switchTab({
        url: '/pages/coach/activityList/activityList'
      })
    }
  },

  // 手机号输入
  onMobileInput(e) {
    this.setData({
      mobile: e.detail.value
    })
  },

  // 密码输入
  onPasswordInput(e) {
    this.setData({
      loginPassword: e.detail.value
    })
  },

  // 登录处理
  handleLogin() {
    const { mobile, loginPassword } = this.data

    // 表单验证
    if (!mobile || !loginPassword) {
      wx.showToast({
        title: '请填写完整信息',
        icon: 'none'
      })
      return
    }

    // 手机号格式验证
    if (!/^1[3-9]\d{9}$/.test(mobile)) {
      wx.showToast({
        title: '请输入正确的手机号',
        icon: 'none'
      })
      return
    }

    wx.showLoading({
      title: '登录中'
    })

    // 发起登录请求
    wx.request({
      url: config.baseUrl[config.env] + config.apiPath.user.login,
      method: 'POST',
      data: {
        mobile,
        loginPassword
      },
      success: (res) => {
        console.log('登录响应：', res.data)  // 添加日志
        const { errorCode, message, data } = res.data
        
        if (errorCode === '000000') {
          // 保存cookies
          const cookies = res.header['Set-Cookie']
          if (cookies) {
            wx.setStorageSync('cookies', cookies)
          }

          // 保存用户信息到全局
          app.globalData.userInfo = {
            id: data.id || data.coachId,  // 使用coachId作为备选
            mobile: data.mobile,
            name: data.name,
            avatar: data.avatar,
            coachId: data.coachId || data.id  // 使用id作为备选
          }
          app.globalData.isCoach = true

          // 保存到本地存储，防止刷新丢失
          wx.setStorageSync('userInfo', app.globalData.userInfo)
          wx.setStorageSync('isCoach', true)

          // 登录成功
          wx.showToast({
            title: '登录成功',
            icon: 'success',
            duration: 1500,
            success: () => {
              // 延迟跳转，让用户看到成功提示
              setTimeout(() => {
                wx.switchTab({
                  url: '/pages/coach/activityList/activityList'
                })
              }, 1500)
            }
          })
        } else {
          // 登录失败
          wx.showToast({
            title: message || '登录失败',
            icon: 'none'
          })
        }
      },
      fail: (err) => {
        console.error('登录请求失败：', err)
        wx.showToast({
          title: '网络错误，请重试',
          icon: 'none'
        })
      },
      complete: () => {
        wx.hideLoading()
      }
    })
  }
}) 